package models;

import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Lob;
import javax.persistence.OneToMany;
import org.hibernate.envers.Audited;
import play.data.validation.Check.*;
import play.data.validation.MaxSize;
import play.data.validation.MinSize;
import play.data.validation.Required;
import play.db.jpa.Model;


@Entity
@Audited
public class Categoria extends Model{
    @Required(message = "El campo es Requerido")
    @MaxSize(value = 50 , message = "El tamaño maximo es de 50")
    @MinSize(value = 3, message = "El tamaño minimo es de 3")
    public String nombre;
    @Required(message = "El campo es Requerido")
    @MaxSize(value = 300 , message = "El tamaño maximo es de 300")
    @MinSize(value = 3, message = "El tamaño minimo es de 3")
    public String descripcion;
    @Lob
    public String rutaImg;

    @OneToMany(mappedBy="categoria", cascade= CascadeType.ALL)
    public List<Enlace> enlaces;

    public Categoria(String nombre, String descripcion, String rutaImg) {
        this.nombre = nombre;
        this.descripcion = descripcion;
        this.rutaImg = rutaImg;
    }



    @Override
    public String toString() {
        return nombre;
    }

    
}
